package com.drg.center.service;

import com.drg.center.entity.param.CaseMonitorPageDTO;
import com.drg.center.entity.param.CaseOutMonitorPageDTO;
import com.drg.center.entity.result.*;
import com.guaike.core.entity.result.PageEntity;
import com.guaike.core.entity.result.Result;

import java.util.List;


public interface CaseMonitorService {
    /**
     * 在院病例监测统计
     *
     * @param param
     * @return
     */
    Result<CaseMonitorStatVO> inHospitalStat(CaseMonitorPageDTO param);

    /**
     * 在院病例监测列表
     *
     * @param param
     * @return
     */
    Result<PageEntity<CaseMonitorPageVO>> inHospitalPage(CaseMonitorPageDTO param);

    /**
     * 出院病例监测统计
     * @param param
     * @return
     */
    Result<CaseMonitorOutStatVO> outHospitalStat(CaseOutMonitorPageDTO param);

    /**
     * 出院病例监测列表
     *
     * @param param
     * @return
     */
    Result<PageEntity<CaseOutMonitorPageVO>> outHospitalPage(CaseOutMonitorPageDTO param);

    /**
     * 病例监测明细
     *
     * @param type
     * @param caseCode
     * @return
     */
    Result<CaseMonitorVO> caseDetail(Integer type, String caseCode);

    /**
     * 搜索drg分组情况
     *
     * @param search
     * @return
     */
    Result<List<DrgVO>> searchDRG(String search);
}
